/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.hl7.v3.util;

import java.util.List;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;

import org.hl7.v3.*;

/**
 * <!-- begin-user-doc -->
 * The <b>Switch</b> for the model's inheritance hierarchy.
 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
 * to invoke the <code>caseXXX</code> method for each class of the model,
 * starting with the actual class of the object
 * and proceeding up the inheritance hierarchy
 * until a non-null result is returned,
 * which is the result of the switch.
 * <!-- end-user-doc -->
 * @see org.hl7.v3.V3Package
 * @generated
 */
public class V3Switch<T> {
	/**
	 * The cached model package
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static V3Package modelPackage;

	/**
	 * Creates an instance of the switch.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public V3Switch() {
		if (modelPackage == null) {
			modelPackage = V3Package.eINSTANCE;
		}
	}

	/**
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
	 * @generated
	 */
	public T doSwitch(EObject theEObject) {
		return doSwitch(theEObject.eClass(), theEObject);
	}

	/**
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
	 * @generated
	 */
	protected T doSwitch(EClass theEClass, EObject theEObject) {
		if (theEClass.eContainer() == modelPackage) {
			return doSwitch(theEClass.getClassifierID(), theEObject);
		}
		else {
			List<EClass> eSuperTypes = theEClass.getESuperTypes();
			return
				eSuperTypes.isEmpty() ?
					defaultCase(theEObject) :
					doSwitch(eSuperTypes.get(0), theEObject);
		}
	}

	/**
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
	 * @generated
	 */
	protected T doSwitch(int classifierID, EObject theEObject) {
		switch (classifierID) {
			case V3Package.AD: {
				AD ad = (AD)theEObject;
				T result = caseAD(ad);
				if (result == null) result = caseANY(ad);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP: {
				ADXP adxp = (ADXP)theEObject;
				T result = caseADXP(adxp);
				if (result == null) result = caseST1(adxp);
				if (result == null) result = caseED(adxp);
				if (result == null) result = caseBIN1(adxp);
				if (result == null) result = caseANY(adxp);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_ADDITIONAL_LOCATOR: {
				AdxpAdditionalLocator adxpAdditionalLocator = (AdxpAdditionalLocator)theEObject;
				T result = caseAdxpAdditionalLocator(adxpAdditionalLocator);
				if (result == null) result = caseADXP(adxpAdditionalLocator);
				if (result == null) result = caseST1(adxpAdditionalLocator);
				if (result == null) result = caseED(adxpAdditionalLocator);
				if (result == null) result = caseBIN1(adxpAdditionalLocator);
				if (result == null) result = caseANY(adxpAdditionalLocator);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_BUILDING_NUMBER_SUFFIX: {
				AdxpBuildingNumberSuffix adxpBuildingNumberSuffix = (AdxpBuildingNumberSuffix)theEObject;
				T result = caseAdxpBuildingNumberSuffix(adxpBuildingNumberSuffix);
				if (result == null) result = caseADXP(adxpBuildingNumberSuffix);
				if (result == null) result = caseST1(adxpBuildingNumberSuffix);
				if (result == null) result = caseED(adxpBuildingNumberSuffix);
				if (result == null) result = caseBIN1(adxpBuildingNumberSuffix);
				if (result == null) result = caseANY(adxpBuildingNumberSuffix);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_CARE_OF: {
				AdxpCareOf adxpCareOf = (AdxpCareOf)theEObject;
				T result = caseAdxpCareOf(adxpCareOf);
				if (result == null) result = caseADXP(adxpCareOf);
				if (result == null) result = caseST1(adxpCareOf);
				if (result == null) result = caseED(adxpCareOf);
				if (result == null) result = caseBIN1(adxpCareOf);
				if (result == null) result = caseANY(adxpCareOf);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_CENSUS_TRACT: {
				AdxpCensusTract adxpCensusTract = (AdxpCensusTract)theEObject;
				T result = caseAdxpCensusTract(adxpCensusTract);
				if (result == null) result = caseADXP(adxpCensusTract);
				if (result == null) result = caseST1(adxpCensusTract);
				if (result == null) result = caseED(adxpCensusTract);
				if (result == null) result = caseBIN1(adxpCensusTract);
				if (result == null) result = caseANY(adxpCensusTract);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_CITY: {
				AdxpCity adxpCity = (AdxpCity)theEObject;
				T result = caseAdxpCity(adxpCity);
				if (result == null) result = caseADXP(adxpCity);
				if (result == null) result = caseST1(adxpCity);
				if (result == null) result = caseED(adxpCity);
				if (result == null) result = caseBIN1(adxpCity);
				if (result == null) result = caseANY(adxpCity);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_COUNTRY: {
				AdxpCountry adxpCountry = (AdxpCountry)theEObject;
				T result = caseAdxpCountry(adxpCountry);
				if (result == null) result = caseADXP(adxpCountry);
				if (result == null) result = caseST1(adxpCountry);
				if (result == null) result = caseED(adxpCountry);
				if (result == null) result = caseBIN1(adxpCountry);
				if (result == null) result = caseANY(adxpCountry);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_COUNTY: {
				AdxpCounty adxpCounty = (AdxpCounty)theEObject;
				T result = caseAdxpCounty(adxpCounty);
				if (result == null) result = caseADXP(adxpCounty);
				if (result == null) result = caseST1(adxpCounty);
				if (result == null) result = caseED(adxpCounty);
				if (result == null) result = caseBIN1(adxpCounty);
				if (result == null) result = caseANY(adxpCounty);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_DELIMITER: {
				AdxpDelimiter adxpDelimiter = (AdxpDelimiter)theEObject;
				T result = caseAdxpDelimiter(adxpDelimiter);
				if (result == null) result = caseADXP(adxpDelimiter);
				if (result == null) result = caseST1(adxpDelimiter);
				if (result == null) result = caseED(adxpDelimiter);
				if (result == null) result = caseBIN1(adxpDelimiter);
				if (result == null) result = caseANY(adxpDelimiter);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_DELIVERY_ADDRESS_LINE: {
				AdxpDeliveryAddressLine adxpDeliveryAddressLine = (AdxpDeliveryAddressLine)theEObject;
				T result = caseAdxpDeliveryAddressLine(adxpDeliveryAddressLine);
				if (result == null) result = caseADXP(adxpDeliveryAddressLine);
				if (result == null) result = caseST1(adxpDeliveryAddressLine);
				if (result == null) result = caseED(adxpDeliveryAddressLine);
				if (result == null) result = caseBIN1(adxpDeliveryAddressLine);
				if (result == null) result = caseANY(adxpDeliveryAddressLine);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_DELIVERY_INSTALLATION_AREA: {
				AdxpDeliveryInstallationArea adxpDeliveryInstallationArea = (AdxpDeliveryInstallationArea)theEObject;
				T result = caseAdxpDeliveryInstallationArea(adxpDeliveryInstallationArea);
				if (result == null) result = caseADXP(adxpDeliveryInstallationArea);
				if (result == null) result = caseST1(adxpDeliveryInstallationArea);
				if (result == null) result = caseED(adxpDeliveryInstallationArea);
				if (result == null) result = caseBIN1(adxpDeliveryInstallationArea);
				if (result == null) result = caseANY(adxpDeliveryInstallationArea);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_DELIVERY_INSTALLATION_QUALIFIER: {
				AdxpDeliveryInstallationQualifier adxpDeliveryInstallationQualifier = (AdxpDeliveryInstallationQualifier)theEObject;
				T result = caseAdxpDeliveryInstallationQualifier(adxpDeliveryInstallationQualifier);
				if (result == null) result = caseADXP(adxpDeliveryInstallationQualifier);
				if (result == null) result = caseST1(adxpDeliveryInstallationQualifier);
				if (result == null) result = caseED(adxpDeliveryInstallationQualifier);
				if (result == null) result = caseBIN1(adxpDeliveryInstallationQualifier);
				if (result == null) result = caseANY(adxpDeliveryInstallationQualifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_DELIVERY_INSTALLATION_TYPE: {
				AdxpDeliveryInstallationType adxpDeliveryInstallationType = (AdxpDeliveryInstallationType)theEObject;
				T result = caseAdxpDeliveryInstallationType(adxpDeliveryInstallationType);
				if (result == null) result = caseADXP(adxpDeliveryInstallationType);
				if (result == null) result = caseST1(adxpDeliveryInstallationType);
				if (result == null) result = caseED(adxpDeliveryInstallationType);
				if (result == null) result = caseBIN1(adxpDeliveryInstallationType);
				if (result == null) result = caseANY(adxpDeliveryInstallationType);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_DELIVERY_MODE: {
				AdxpDeliveryMode adxpDeliveryMode = (AdxpDeliveryMode)theEObject;
				T result = caseAdxpDeliveryMode(adxpDeliveryMode);
				if (result == null) result = caseADXP(adxpDeliveryMode);
				if (result == null) result = caseST1(adxpDeliveryMode);
				if (result == null) result = caseED(adxpDeliveryMode);
				if (result == null) result = caseBIN1(adxpDeliveryMode);
				if (result == null) result = caseANY(adxpDeliveryMode);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_DELIVERY_MODE_IDENTIFIER: {
				AdxpDeliveryModeIdentifier adxpDeliveryModeIdentifier = (AdxpDeliveryModeIdentifier)theEObject;
				T result = caseAdxpDeliveryModeIdentifier(adxpDeliveryModeIdentifier);
				if (result == null) result = caseADXP(adxpDeliveryModeIdentifier);
				if (result == null) result = caseST1(adxpDeliveryModeIdentifier);
				if (result == null) result = caseED(adxpDeliveryModeIdentifier);
				if (result == null) result = caseBIN1(adxpDeliveryModeIdentifier);
				if (result == null) result = caseANY(adxpDeliveryModeIdentifier);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_DIRECTION: {
				AdxpDirection adxpDirection = (AdxpDirection)theEObject;
				T result = caseAdxpDirection(adxpDirection);
				if (result == null) result = caseADXP(adxpDirection);
				if (result == null) result = caseST1(adxpDirection);
				if (result == null) result = caseED(adxpDirection);
				if (result == null) result = caseBIN1(adxpDirection);
				if (result == null) result = caseANY(adxpDirection);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_HOUSE_NUMBER: {
				AdxpHouseNumber adxpHouseNumber = (AdxpHouseNumber)theEObject;
				T result = caseAdxpHouseNumber(adxpHouseNumber);
				if (result == null) result = caseADXP(adxpHouseNumber);
				if (result == null) result = caseST1(adxpHouseNumber);
				if (result == null) result = caseED(adxpHouseNumber);
				if (result == null) result = caseBIN1(adxpHouseNumber);
				if (result == null) result = caseANY(adxpHouseNumber);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_HOUSE_NUMBER_NUMERIC: {
				AdxpHouseNumberNumeric adxpHouseNumberNumeric = (AdxpHouseNumberNumeric)theEObject;
				T result = caseAdxpHouseNumberNumeric(adxpHouseNumberNumeric);
				if (result == null) result = caseADXP(adxpHouseNumberNumeric);
				if (result == null) result = caseST1(adxpHouseNumberNumeric);
				if (result == null) result = caseED(adxpHouseNumberNumeric);
				if (result == null) result = caseBIN1(adxpHouseNumberNumeric);
				if (result == null) result = caseANY(adxpHouseNumberNumeric);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_POSTAL_CODE: {
				AdxpPostalCode adxpPostalCode = (AdxpPostalCode)theEObject;
				T result = caseAdxpPostalCode(adxpPostalCode);
				if (result == null) result = caseADXP(adxpPostalCode);
				if (result == null) result = caseST1(adxpPostalCode);
				if (result == null) result = caseED(adxpPostalCode);
				if (result == null) result = caseBIN1(adxpPostalCode);
				if (result == null) result = caseANY(adxpPostalCode);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_POST_BOX: {
				AdxpPostBox adxpPostBox = (AdxpPostBox)theEObject;
				T result = caseAdxpPostBox(adxpPostBox);
				if (result == null) result = caseADXP(adxpPostBox);
				if (result == null) result = caseST1(adxpPostBox);
				if (result == null) result = caseED(adxpPostBox);
				if (result == null) result = caseBIN1(adxpPostBox);
				if (result == null) result = caseANY(adxpPostBox);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_PRECINCT: {
				AdxpPrecinct adxpPrecinct = (AdxpPrecinct)theEObject;
				T result = caseAdxpPrecinct(adxpPrecinct);
				if (result == null) result = caseADXP(adxpPrecinct);
				if (result == null) result = caseST1(adxpPrecinct);
				if (result == null) result = caseED(adxpPrecinct);
				if (result == null) result = caseBIN1(adxpPrecinct);
				if (result == null) result = caseANY(adxpPrecinct);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_STATE: {
				AdxpState adxpState = (AdxpState)theEObject;
				T result = caseAdxpState(adxpState);
				if (result == null) result = caseADXP(adxpState);
				if (result == null) result = caseST1(adxpState);
				if (result == null) result = caseED(adxpState);
				if (result == null) result = caseBIN1(adxpState);
				if (result == null) result = caseANY(adxpState);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_STREET_ADDRESS_LINE: {
				AdxpStreetAddressLine adxpStreetAddressLine = (AdxpStreetAddressLine)theEObject;
				T result = caseAdxpStreetAddressLine(adxpStreetAddressLine);
				if (result == null) result = caseADXP(adxpStreetAddressLine);
				if (result == null) result = caseST1(adxpStreetAddressLine);
				if (result == null) result = caseED(adxpStreetAddressLine);
				if (result == null) result = caseBIN1(adxpStreetAddressLine);
				if (result == null) result = caseANY(adxpStreetAddressLine);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_STREET_NAME: {
				AdxpStreetName adxpStreetName = (AdxpStreetName)theEObject;
				T result = caseAdxpStreetName(adxpStreetName);
				if (result == null) result = caseADXP(adxpStreetName);
				if (result == null) result = caseST1(adxpStreetName);
				if (result == null) result = caseED(adxpStreetName);
				if (result == null) result = caseBIN1(adxpStreetName);
				if (result == null) result = caseANY(adxpStreetName);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_STREET_NAME_BASE: {
				AdxpStreetNameBase adxpStreetNameBase = (AdxpStreetNameBase)theEObject;
				T result = caseAdxpStreetNameBase(adxpStreetNameBase);
				if (result == null) result = caseADXP(adxpStreetNameBase);
				if (result == null) result = caseST1(adxpStreetNameBase);
				if (result == null) result = caseED(adxpStreetNameBase);
				if (result == null) result = caseBIN1(adxpStreetNameBase);
				if (result == null) result = caseANY(adxpStreetNameBase);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_STREET_NAME_TYPE: {
				AdxpStreetNameType adxpStreetNameType = (AdxpStreetNameType)theEObject;
				T result = caseAdxpStreetNameType(adxpStreetNameType);
				if (result == null) result = caseADXP(adxpStreetNameType);
				if (result == null) result = caseST1(adxpStreetNameType);
				if (result == null) result = caseED(adxpStreetNameType);
				if (result == null) result = caseBIN1(adxpStreetNameType);
				if (result == null) result = caseANY(adxpStreetNameType);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_UNIT_ID: {
				AdxpUnitID adxpUnitID = (AdxpUnitID)theEObject;
				T result = caseAdxpUnitID(adxpUnitID);
				if (result == null) result = caseADXP(adxpUnitID);
				if (result == null) result = caseST1(adxpUnitID);
				if (result == null) result = caseED(adxpUnitID);
				if (result == null) result = caseBIN1(adxpUnitID);
				if (result == null) result = caseANY(adxpUnitID);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ADXP_UNIT_TYPE: {
				AdxpUnitType adxpUnitType = (AdxpUnitType)theEObject;
				T result = caseAdxpUnitType(adxpUnitType);
				if (result == null) result = caseADXP(adxpUnitType);
				if (result == null) result = caseST1(adxpUnitType);
				if (result == null) result = caseED(adxpUnitType);
				if (result == null) result = caseBIN1(adxpUnitType);
				if (result == null) result = caseANY(adxpUnitType);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ANY: {
				ANY any = (ANY)theEObject;
				T result = caseANY(any);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ANY_NON_NULL: {
				ANYNonNull anyNonNull = (ANYNonNull)theEObject;
				T result = caseANYNonNull(anyNonNull);
				if (result == null) result = caseANY(anyNonNull);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.BIN1: {
				BIN1 bin1 = (BIN1)theEObject;
				T result = caseBIN1(bin1);
				if (result == null) result = caseANY(bin1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.BL1: {
				BL1 bl1 = (BL1)theEObject;
				T result = caseBL1(bl1);
				if (result == null) result = caseANY(bl1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.BN1: {
				BN1 bn1 = (BN1)theEObject;
				T result = caseBN1(bn1);
				if (result == null) result = caseANYNonNull(bn1);
				if (result == null) result = caseANY(bn1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.BXITCD: {
				BXITCD bxitcd = (BXITCD)theEObject;
				T result = caseBXITCD(bxitcd);
				if (result == null) result = caseCD(bxitcd);
				if (result == null) result = caseANY(bxitcd);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.BXITIVLPQ: {
				BXITIVLPQ bxitivlpq = (BXITIVLPQ)theEObject;
				T result = caseBXITIVLPQ(bxitivlpq);
				if (result == null) result = caseIVLPQ(bxitivlpq);
				if (result == null) result = caseSXCMPQ(bxitivlpq);
				if (result == null) result = casePQ(bxitivlpq);
				if (result == null) result = caseQTY(bxitivlpq);
				if (result == null) result = caseANY(bxitivlpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.CD: {
				CD cd = (CD)theEObject;
				T result = caseCD(cd);
				if (result == null) result = caseANY(cd);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.CE: {
				CE ce = (CE)theEObject;
				T result = caseCE(ce);
				if (result == null) result = caseCD(ce);
				if (result == null) result = caseANY(ce);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.CO: {
				CO co = (CO)theEObject;
				T result = caseCO(co);
				if (result == null) result = caseCV(co);
				if (result == null) result = caseCE(co);
				if (result == null) result = caseCD(co);
				if (result == null) result = caseANY(co);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.CR: {
				CR cr = (CR)theEObject;
				T result = caseCR(cr);
				if (result == null) result = caseANY(cr);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.CS1: {
				CS1 cs1 = (CS1)theEObject;
				T result = caseCS1(cs1);
				if (result == null) result = caseCV(cs1);
				if (result == null) result = caseCE(cs1);
				if (result == null) result = caseCD(cs1);
				if (result == null) result = caseANY(cs1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.CV: {
				CV cv = (CV)theEObject;
				T result = caseCV(cv);
				if (result == null) result = caseCE(cv);
				if (result == null) result = caseCD(cv);
				if (result == null) result = caseANY(cv);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.DOCUMENT_ROOT: {
				DocumentRoot documentRoot = (DocumentRoot)theEObject;
				T result = caseDocumentRoot(documentRoot);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ED: {
				ED ed = (ED)theEObject;
				T result = caseED(ed);
				if (result == null) result = caseBIN1(ed);
				if (result == null) result = caseANY(ed);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.EIVL_EVENT: {
				EIVLEvent eivlEvent = (EIVLEvent)theEObject;
				T result = caseEIVLEvent(eivlEvent);
				if (result == null) result = caseCE(eivlEvent);
				if (result == null) result = caseCD(eivlEvent);
				if (result == null) result = caseANY(eivlEvent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.EIVLPPDTS: {
				EIVLPPDTS eivlppdts = (EIVLPPDTS)theEObject;
				T result = caseEIVLPPDTS(eivlppdts);
				if (result == null) result = caseSXCMPPDTS(eivlppdts);
				if (result == null) result = casePPDTS(eivlppdts);
				if (result == null) result = caseTS1(eivlppdts);
				if (result == null) result = caseQTY(eivlppdts);
				if (result == null) result = caseANY(eivlppdts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.EIVLTS: {
				EIVLTS eivlts = (EIVLTS)theEObject;
				T result = caseEIVLTS(eivlts);
				if (result == null) result = caseSXCMTS(eivlts);
				if (result == null) result = caseTS1(eivlts);
				if (result == null) result = caseQTY(eivlts);
				if (result == null) result = caseANY(eivlts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.EN: {
				EN en = (EN)theEObject;
				T result = caseEN(en);
				if (result == null) result = caseANY(en);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.EN_DELIMITER: {
				EnDelimiter enDelimiter = (EnDelimiter)theEObject;
				T result = caseEnDelimiter(enDelimiter);
				if (result == null) result = caseENXP(enDelimiter);
				if (result == null) result = caseST1(enDelimiter);
				if (result == null) result = caseED(enDelimiter);
				if (result == null) result = caseBIN1(enDelimiter);
				if (result == null) result = caseANY(enDelimiter);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.EN_FAMILY: {
				EnFamily enFamily = (EnFamily)theEObject;
				T result = caseEnFamily(enFamily);
				if (result == null) result = caseENXP(enFamily);
				if (result == null) result = caseST1(enFamily);
				if (result == null) result = caseED(enFamily);
				if (result == null) result = caseBIN1(enFamily);
				if (result == null) result = caseANY(enFamily);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.EN_GIVEN: {
				EnGiven enGiven = (EnGiven)theEObject;
				T result = caseEnGiven(enGiven);
				if (result == null) result = caseENXP(enGiven);
				if (result == null) result = caseST1(enGiven);
				if (result == null) result = caseED(enGiven);
				if (result == null) result = caseBIN1(enGiven);
				if (result == null) result = caseANY(enGiven);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.EN_PREFIX: {
				EnPrefix enPrefix = (EnPrefix)theEObject;
				T result = caseEnPrefix(enPrefix);
				if (result == null) result = caseENXP(enPrefix);
				if (result == null) result = caseST1(enPrefix);
				if (result == null) result = caseED(enPrefix);
				if (result == null) result = caseBIN1(enPrefix);
				if (result == null) result = caseANY(enPrefix);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.EN_SUFFIX: {
				EnSuffix enSuffix = (EnSuffix)theEObject;
				T result = caseEnSuffix(enSuffix);
				if (result == null) result = caseENXP(enSuffix);
				if (result == null) result = caseST1(enSuffix);
				if (result == null) result = caseED(enSuffix);
				if (result == null) result = caseBIN1(enSuffix);
				if (result == null) result = caseANY(enSuffix);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ENXP: {
				ENXP enxp = (ENXP)theEObject;
				T result = caseENXP(enxp);
				if (result == null) result = caseST1(enxp);
				if (result == null) result = caseED(enxp);
				if (result == null) result = caseBIN1(enxp);
				if (result == null) result = caseANY(enxp);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.GLISTPQ: {
				GLISTPQ glistpq = (GLISTPQ)theEObject;
				T result = caseGLISTPQ(glistpq);
				if (result == null) result = caseANY(glistpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.GLISTTS: {
				GLISTTS glistts = (GLISTTS)theEObject;
				T result = caseGLISTTS(glistts);
				if (result == null) result = caseANY(glistts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.HXITCE: {
				HXITCE hxitce = (HXITCE)theEObject;
				T result = caseHXITCE(hxitce);
				if (result == null) result = caseCE(hxitce);
				if (result == null) result = caseCD(hxitce);
				if (result == null) result = caseANY(hxitce);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.HXITPQ: {
				HXITPQ hxitpq = (HXITPQ)theEObject;
				T result = caseHXITPQ(hxitpq);
				if (result == null) result = casePQ(hxitpq);
				if (result == null) result = caseQTY(hxitpq);
				if (result == null) result = caseANY(hxitpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.II: {
				II ii = (II)theEObject;
				T result = caseII(ii);
				if (result == null) result = caseANY(ii);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.INT1: {
				INT1 int1 = (INT1)theEObject;
				T result = caseINT1(int1);
				if (result == null) result = caseQTY(int1);
				if (result == null) result = caseANY(int1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVLINT: {
				IVLINT ivlint = (IVLINT)theEObject;
				T result = caseIVLINT(ivlint);
				if (result == null) result = caseSXCMINT(ivlint);
				if (result == null) result = caseINT1(ivlint);
				if (result == null) result = caseQTY(ivlint);
				if (result == null) result = caseANY(ivlint);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVLMO: {
				IVLMO ivlmo = (IVLMO)theEObject;
				T result = caseIVLMO(ivlmo);
				if (result == null) result = caseSXCMMO(ivlmo);
				if (result == null) result = caseMO(ivlmo);
				if (result == null) result = caseQTY(ivlmo);
				if (result == null) result = caseANY(ivlmo);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVLPPDPQ: {
				IVLPPDPQ ivlppdpq = (IVLPPDPQ)theEObject;
				T result = caseIVLPPDPQ(ivlppdpq);
				if (result == null) result = caseSXCMPPDPQ(ivlppdpq);
				if (result == null) result = casePPDPQ(ivlppdpq);
				if (result == null) result = casePQ(ivlppdpq);
				if (result == null) result = caseQTY(ivlppdpq);
				if (result == null) result = caseANY(ivlppdpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVLPPDTS: {
				IVLPPDTS ivlppdts = (IVLPPDTS)theEObject;
				T result = caseIVLPPDTS(ivlppdts);
				if (result == null) result = caseSXCMPPDTS(ivlppdts);
				if (result == null) result = casePPDTS(ivlppdts);
				if (result == null) result = caseTS1(ivlppdts);
				if (result == null) result = caseQTY(ivlppdts);
				if (result == null) result = caseANY(ivlppdts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVLPQ: {
				IVLPQ ivlpq = (IVLPQ)theEObject;
				T result = caseIVLPQ(ivlpq);
				if (result == null) result = caseSXCMPQ(ivlpq);
				if (result == null) result = casePQ(ivlpq);
				if (result == null) result = caseQTY(ivlpq);
				if (result == null) result = caseANY(ivlpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVLREAL: {
				IVLREAL ivlreal = (IVLREAL)theEObject;
				T result = caseIVLREAL(ivlreal);
				if (result == null) result = caseSXCMREAL(ivlreal);
				if (result == null) result = caseREAL1(ivlreal);
				if (result == null) result = caseQTY(ivlreal);
				if (result == null) result = caseANY(ivlreal);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVLTS: {
				IVLTS ivlts = (IVLTS)theEObject;
				T result = caseIVLTS(ivlts);
				if (result == null) result = caseSXCMTS(ivlts);
				if (result == null) result = caseTS1(ivlts);
				if (result == null) result = caseQTY(ivlts);
				if (result == null) result = caseANY(ivlts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVXBINT: {
				IVXBINT ivxbint = (IVXBINT)theEObject;
				T result = caseIVXBINT(ivxbint);
				if (result == null) result = caseINT1(ivxbint);
				if (result == null) result = caseQTY(ivxbint);
				if (result == null) result = caseANY(ivxbint);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVXBMO: {
				IVXBMO ivxbmo = (IVXBMO)theEObject;
				T result = caseIVXBMO(ivxbmo);
				if (result == null) result = caseMO(ivxbmo);
				if (result == null) result = caseQTY(ivxbmo);
				if (result == null) result = caseANY(ivxbmo);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVXBPPDPQ: {
				IVXBPPDPQ ivxbppdpq = (IVXBPPDPQ)theEObject;
				T result = caseIVXBPPDPQ(ivxbppdpq);
				if (result == null) result = casePPDPQ(ivxbppdpq);
				if (result == null) result = casePQ(ivxbppdpq);
				if (result == null) result = caseQTY(ivxbppdpq);
				if (result == null) result = caseANY(ivxbppdpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVXBPPDTS: {
				IVXBPPDTS ivxbppdts = (IVXBPPDTS)theEObject;
				T result = caseIVXBPPDTS(ivxbppdts);
				if (result == null) result = casePPDTS(ivxbppdts);
				if (result == null) result = caseTS1(ivxbppdts);
				if (result == null) result = caseQTY(ivxbppdts);
				if (result == null) result = caseANY(ivxbppdts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVXBPQ: {
				IVXBPQ ivxbpq = (IVXBPQ)theEObject;
				T result = caseIVXBPQ(ivxbpq);
				if (result == null) result = casePQ(ivxbpq);
				if (result == null) result = caseQTY(ivxbpq);
				if (result == null) result = caseANY(ivxbpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVXBREAL: {
				IVXBREAL ivxbreal = (IVXBREAL)theEObject;
				T result = caseIVXBREAL(ivxbreal);
				if (result == null) result = caseREAL1(ivxbreal);
				if (result == null) result = caseQTY(ivxbreal);
				if (result == null) result = caseANY(ivxbreal);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.IVXBTS: {
				IVXBTS ivxbts = (IVXBTS)theEObject;
				T result = caseIVXBTS(ivxbts);
				if (result == null) result = caseTS1(ivxbts);
				if (result == null) result = caseQTY(ivxbts);
				if (result == null) result = caseANY(ivxbts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.MO: {
				MO mo = (MO)theEObject;
				T result = caseMO(mo);
				if (result == null) result = caseQTY(mo);
				if (result == null) result = caseANY(mo);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ON: {
				ON on = (ON)theEObject;
				T result = caseON(on);
				if (result == null) result = caseEN(on);
				if (result == null) result = caseANY(on);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.PIVLPPDTS: {
				PIVLPPDTS pivlppdts = (PIVLPPDTS)theEObject;
				T result = casePIVLPPDTS(pivlppdts);
				if (result == null) result = caseSXCMPPDTS(pivlppdts);
				if (result == null) result = casePPDTS(pivlppdts);
				if (result == null) result = caseTS1(pivlppdts);
				if (result == null) result = caseQTY(pivlppdts);
				if (result == null) result = caseANY(pivlppdts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.PIVLTS: {
				PIVLTS pivlts = (PIVLTS)theEObject;
				T result = casePIVLTS(pivlts);
				if (result == null) result = caseSXCMTS(pivlts);
				if (result == null) result = caseTS1(pivlts);
				if (result == null) result = caseQTY(pivlts);
				if (result == null) result = caseANY(pivlts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.PN: {
				PN pn = (PN)theEObject;
				T result = casePN(pn);
				if (result == null) result = caseEN(pn);
				if (result == null) result = caseANY(pn);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ACT: {
				POCDMT000040Act pocdmt000040Act = (POCDMT000040Act)theEObject;
				T result = casePOCDMT000040Act(pocdmt000040Act);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ASSIGNED_AUTHOR: {
				POCDMT000040AssignedAuthor pocdmt000040AssignedAuthor = (POCDMT000040AssignedAuthor)theEObject;
				T result = casePOCDMT000040AssignedAuthor(pocdmt000040AssignedAuthor);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ASSIGNED_CUSTODIAN: {
				POCDMT000040AssignedCustodian pocdmt000040AssignedCustodian = (POCDMT000040AssignedCustodian)theEObject;
				T result = casePOCDMT000040AssignedCustodian(pocdmt000040AssignedCustodian);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ASSIGNED_ENTITY: {
				POCDMT000040AssignedEntity pocdmt000040AssignedEntity = (POCDMT000040AssignedEntity)theEObject;
				T result = casePOCDMT000040AssignedEntity(pocdmt000040AssignedEntity);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ASSOCIATED_ENTITY: {
				POCDMT000040AssociatedEntity pocdmt000040AssociatedEntity = (POCDMT000040AssociatedEntity)theEObject;
				T result = casePOCDMT000040AssociatedEntity(pocdmt000040AssociatedEntity);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_AUTHENTICATOR: {
				POCDMT000040Authenticator pocdmt000040Authenticator = (POCDMT000040Authenticator)theEObject;
				T result = casePOCDMT000040Authenticator(pocdmt000040Authenticator);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_AUTHOR: {
				POCDMT000040Author pocdmt000040Author = (POCDMT000040Author)theEObject;
				T result = casePOCDMT000040Author(pocdmt000040Author);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_AUTHORING_DEVICE: {
				POCDMT000040AuthoringDevice pocdmt000040AuthoringDevice = (POCDMT000040AuthoringDevice)theEObject;
				T result = casePOCDMT000040AuthoringDevice(pocdmt000040AuthoringDevice);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_AUTHORIZATION: {
				POCDMT000040Authorization pocdmt000040Authorization = (POCDMT000040Authorization)theEObject;
				T result = casePOCDMT000040Authorization(pocdmt000040Authorization);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_BIRTHPLACE: {
				POCDMT000040Birthplace pocdmt000040Birthplace = (POCDMT000040Birthplace)theEObject;
				T result = casePOCDMT000040Birthplace(pocdmt000040Birthplace);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_CLINICAL_DOCUMENT: {
				POCDMT000040ClinicalDocument pocdmt000040ClinicalDocument = (POCDMT000040ClinicalDocument)theEObject;
				T result = casePOCDMT000040ClinicalDocument(pocdmt000040ClinicalDocument);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_COMPONENT1: {
				POCDMT000040Component1 pocdmt000040Component1 = (POCDMT000040Component1)theEObject;
				T result = casePOCDMT000040Component1(pocdmt000040Component1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_COMPONENT2: {
				POCDMT000040Component2 pocdmt000040Component2 = (POCDMT000040Component2)theEObject;
				T result = casePOCDMT000040Component2(pocdmt000040Component2);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_COMPONENT3: {
				POCDMT000040Component3 pocdmt000040Component3 = (POCDMT000040Component3)theEObject;
				T result = casePOCDMT000040Component3(pocdmt000040Component3);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_COMPONENT4: {
				POCDMT000040Component4 pocdmt000040Component4 = (POCDMT000040Component4)theEObject;
				T result = casePOCDMT000040Component4(pocdmt000040Component4);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_COMPONENT5: {
				POCDMT000040Component5 pocdmt000040Component5 = (POCDMT000040Component5)theEObject;
				T result = casePOCDMT000040Component5(pocdmt000040Component5);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_CONSENT: {
				POCDMT000040Consent pocdmt000040Consent = (POCDMT000040Consent)theEObject;
				T result = casePOCDMT000040Consent(pocdmt000040Consent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_CONSUMABLE: {
				POCDMT000040Consumable pocdmt000040Consumable = (POCDMT000040Consumable)theEObject;
				T result = casePOCDMT000040Consumable(pocdmt000040Consumable);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_CRITERION: {
				POCDMT000040Criterion pocdmt000040Criterion = (POCDMT000040Criterion)theEObject;
				T result = casePOCDMT000040Criterion(pocdmt000040Criterion);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_CUSTODIAN: {
				POCDMT000040Custodian pocdmt000040Custodian = (POCDMT000040Custodian)theEObject;
				T result = casePOCDMT000040Custodian(pocdmt000040Custodian);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_CUSTODIAN_ORGANIZATION: {
				POCDMT000040CustodianOrganization pocdmt000040CustodianOrganization = (POCDMT000040CustodianOrganization)theEObject;
				T result = casePOCDMT000040CustodianOrganization(pocdmt000040CustodianOrganization);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_DATA_ENTERER: {
				POCDMT000040DataEnterer pocdmt000040DataEnterer = (POCDMT000040DataEnterer)theEObject;
				T result = casePOCDMT000040DataEnterer(pocdmt000040DataEnterer);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_DEVICE: {
				POCDMT000040Device pocdmt000040Device = (POCDMT000040Device)theEObject;
				T result = casePOCDMT000040Device(pocdmt000040Device);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_DOCUMENTATION_OF: {
				POCDMT000040DocumentationOf pocdmt000040DocumentationOf = (POCDMT000040DocumentationOf)theEObject;
				T result = casePOCDMT000040DocumentationOf(pocdmt000040DocumentationOf);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ENCOMPASSING_ENCOUNTER: {
				POCDMT000040EncompassingEncounter pocdmt000040EncompassingEncounter = (POCDMT000040EncompassingEncounter)theEObject;
				T result = casePOCDMT000040EncompassingEncounter(pocdmt000040EncompassingEncounter);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ENCOUNTER: {
				POCDMT000040Encounter pocdmt000040Encounter = (POCDMT000040Encounter)theEObject;
				T result = casePOCDMT000040Encounter(pocdmt000040Encounter);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ENCOUNTER_PARTICIPANT: {
				POCDMT000040EncounterParticipant pocdmt000040EncounterParticipant = (POCDMT000040EncounterParticipant)theEObject;
				T result = casePOCDMT000040EncounterParticipant(pocdmt000040EncounterParticipant);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ENTITY: {
				POCDMT000040Entity pocdmt000040Entity = (POCDMT000040Entity)theEObject;
				T result = casePOCDMT000040Entity(pocdmt000040Entity);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ENTRY: {
				POCDMT000040Entry pocdmt000040Entry = (POCDMT000040Entry)theEObject;
				T result = casePOCDMT000040Entry(pocdmt000040Entry);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ENTRY_RELATIONSHIP: {
				POCDMT000040EntryRelationship pocdmt000040EntryRelationship = (POCDMT000040EntryRelationship)theEObject;
				T result = casePOCDMT000040EntryRelationship(pocdmt000040EntryRelationship);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_EXTERNAL_ACT: {
				POCDMT000040ExternalAct pocdmt000040ExternalAct = (POCDMT000040ExternalAct)theEObject;
				T result = casePOCDMT000040ExternalAct(pocdmt000040ExternalAct);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_EXTERNAL_DOCUMENT: {
				POCDMT000040ExternalDocument pocdmt000040ExternalDocument = (POCDMT000040ExternalDocument)theEObject;
				T result = casePOCDMT000040ExternalDocument(pocdmt000040ExternalDocument);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_EXTERNAL_OBSERVATION: {
				POCDMT000040ExternalObservation pocdmt000040ExternalObservation = (POCDMT000040ExternalObservation)theEObject;
				T result = casePOCDMT000040ExternalObservation(pocdmt000040ExternalObservation);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_EXTERNAL_PROCEDURE: {
				POCDMT000040ExternalProcedure pocdmt000040ExternalProcedure = (POCDMT000040ExternalProcedure)theEObject;
				T result = casePOCDMT000040ExternalProcedure(pocdmt000040ExternalProcedure);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_GUARDIAN: {
				POCDMT000040Guardian pocdmt000040Guardian = (POCDMT000040Guardian)theEObject;
				T result = casePOCDMT000040Guardian(pocdmt000040Guardian);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_HEALTH_CARE_FACILITY: {
				POCDMT000040HealthCareFacility pocdmt000040HealthCareFacility = (POCDMT000040HealthCareFacility)theEObject;
				T result = casePOCDMT000040HealthCareFacility(pocdmt000040HealthCareFacility);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_INFORMANT12: {
				POCDMT000040Informant12 pocdmt000040Informant12 = (POCDMT000040Informant12)theEObject;
				T result = casePOCDMT000040Informant12(pocdmt000040Informant12);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_INFORMATION_RECIPIENT: {
				POCDMT000040InformationRecipient pocdmt000040InformationRecipient = (POCDMT000040InformationRecipient)theEObject;
				T result = casePOCDMT000040InformationRecipient(pocdmt000040InformationRecipient);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_INFRASTRUCTURE_ROOT_TYPE_ID: {
				POCDMT000040InfrastructureRootTypeId pocdmt000040InfrastructureRootTypeId = (POCDMT000040InfrastructureRootTypeId)theEObject;
				T result = casePOCDMT000040InfrastructureRootTypeId(pocdmt000040InfrastructureRootTypeId);
				if (result == null) result = caseII(pocdmt000040InfrastructureRootTypeId);
				if (result == null) result = caseANY(pocdmt000040InfrastructureRootTypeId);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_IN_FULFILLMENT_OF: {
				POCDMT000040InFulfillmentOf pocdmt000040InFulfillmentOf = (POCDMT000040InFulfillmentOf)theEObject;
				T result = casePOCDMT000040InFulfillmentOf(pocdmt000040InFulfillmentOf);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_INTENDED_RECIPIENT: {
				POCDMT000040IntendedRecipient pocdmt000040IntendedRecipient = (POCDMT000040IntendedRecipient)theEObject;
				T result = casePOCDMT000040IntendedRecipient(pocdmt000040IntendedRecipient);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_LABELED_DRUG: {
				POCDMT000040LabeledDrug pocdmt000040LabeledDrug = (POCDMT000040LabeledDrug)theEObject;
				T result = casePOCDMT000040LabeledDrug(pocdmt000040LabeledDrug);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_LANGUAGE_COMMUNICATION: {
				POCDMT000040LanguageCommunication pocdmt000040LanguageCommunication = (POCDMT000040LanguageCommunication)theEObject;
				T result = casePOCDMT000040LanguageCommunication(pocdmt000040LanguageCommunication);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_LEGAL_AUTHENTICATOR: {
				POCDMT000040LegalAuthenticator pocdmt000040LegalAuthenticator = (POCDMT000040LegalAuthenticator)theEObject;
				T result = casePOCDMT000040LegalAuthenticator(pocdmt000040LegalAuthenticator);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_LOCATION: {
				POCDMT000040Location pocdmt000040Location = (POCDMT000040Location)theEObject;
				T result = casePOCDMT000040Location(pocdmt000040Location);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_MAINTAINED_ENTITY: {
				POCDMT000040MaintainedEntity pocdmt000040MaintainedEntity = (POCDMT000040MaintainedEntity)theEObject;
				T result = casePOCDMT000040MaintainedEntity(pocdmt000040MaintainedEntity);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_MANUFACTURED_PRODUCT: {
				POCDMT000040ManufacturedProduct pocdmt000040ManufacturedProduct = (POCDMT000040ManufacturedProduct)theEObject;
				T result = casePOCDMT000040ManufacturedProduct(pocdmt000040ManufacturedProduct);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_MATERIAL: {
				POCDMT000040Material pocdmt000040Material = (POCDMT000040Material)theEObject;
				T result = casePOCDMT000040Material(pocdmt000040Material);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_NON_XML_BODY: {
				POCDMT000040NonXMLBody pocdmt000040NonXMLBody = (POCDMT000040NonXMLBody)theEObject;
				T result = casePOCDMT000040NonXMLBody(pocdmt000040NonXMLBody);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_OBSERVATION: {
				POCDMT000040Observation pocdmt000040Observation = (POCDMT000040Observation)theEObject;
				T result = casePOCDMT000040Observation(pocdmt000040Observation);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_OBSERVATION_MEDIA: {
				POCDMT000040ObservationMedia pocdmt000040ObservationMedia = (POCDMT000040ObservationMedia)theEObject;
				T result = casePOCDMT000040ObservationMedia(pocdmt000040ObservationMedia);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_OBSERVATION_RANGE: {
				POCDMT000040ObservationRange pocdmt000040ObservationRange = (POCDMT000040ObservationRange)theEObject;
				T result = casePOCDMT000040ObservationRange(pocdmt000040ObservationRange);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ORDER: {
				POCDMT000040Order pocdmt000040Order = (POCDMT000040Order)theEObject;
				T result = casePOCDMT000040Order(pocdmt000040Order);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ORGANIZATION: {
				POCDMT000040Organization pocdmt000040Organization = (POCDMT000040Organization)theEObject;
				T result = casePOCDMT000040Organization(pocdmt000040Organization);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ORGANIZATION_PART_OF: {
				POCDMT000040OrganizationPartOf pocdmt000040OrganizationPartOf = (POCDMT000040OrganizationPartOf)theEObject;
				T result = casePOCDMT000040OrganizationPartOf(pocdmt000040OrganizationPartOf);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_ORGANIZER: {
				POCDMT000040Organizer pocdmt000040Organizer = (POCDMT000040Organizer)theEObject;
				T result = casePOCDMT000040Organizer(pocdmt000040Organizer);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PARENT_DOCUMENT: {
				POCDMT000040ParentDocument pocdmt000040ParentDocument = (POCDMT000040ParentDocument)theEObject;
				T result = casePOCDMT000040ParentDocument(pocdmt000040ParentDocument);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PARTICIPANT1: {
				POCDMT000040Participant1 pocdmt000040Participant1 = (POCDMT000040Participant1)theEObject;
				T result = casePOCDMT000040Participant1(pocdmt000040Participant1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PARTICIPANT2: {
				POCDMT000040Participant2 pocdmt000040Participant2 = (POCDMT000040Participant2)theEObject;
				T result = casePOCDMT000040Participant2(pocdmt000040Participant2);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PARTICIPANT_ROLE: {
				POCDMT000040ParticipantRole pocdmt000040ParticipantRole = (POCDMT000040ParticipantRole)theEObject;
				T result = casePOCDMT000040ParticipantRole(pocdmt000040ParticipantRole);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PATIENT: {
				POCDMT000040Patient pocdmt000040Patient = (POCDMT000040Patient)theEObject;
				T result = casePOCDMT000040Patient(pocdmt000040Patient);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PATIENT_ROLE: {
				POCDMT000040PatientRole pocdmt000040PatientRole = (POCDMT000040PatientRole)theEObject;
				T result = casePOCDMT000040PatientRole(pocdmt000040PatientRole);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PERFORMER1: {
				POCDMT000040Performer1 pocdmt000040Performer1 = (POCDMT000040Performer1)theEObject;
				T result = casePOCDMT000040Performer1(pocdmt000040Performer1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PERFORMER2: {
				POCDMT000040Performer2 pocdmt000040Performer2 = (POCDMT000040Performer2)theEObject;
				T result = casePOCDMT000040Performer2(pocdmt000040Performer2);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PERSON: {
				POCDMT000040Person pocdmt000040Person = (POCDMT000040Person)theEObject;
				T result = casePOCDMT000040Person(pocdmt000040Person);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PLACE: {
				POCDMT000040Place pocdmt000040Place = (POCDMT000040Place)theEObject;
				T result = casePOCDMT000040Place(pocdmt000040Place);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PLAYING_ENTITY: {
				POCDMT000040PlayingEntity pocdmt000040PlayingEntity = (POCDMT000040PlayingEntity)theEObject;
				T result = casePOCDMT000040PlayingEntity(pocdmt000040PlayingEntity);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PRECONDITION: {
				POCDMT000040Precondition pocdmt000040Precondition = (POCDMT000040Precondition)theEObject;
				T result = casePOCDMT000040Precondition(pocdmt000040Precondition);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PROCEDURE: {
				POCDMT000040Procedure pocdmt000040Procedure = (POCDMT000040Procedure)theEObject;
				T result = casePOCDMT000040Procedure(pocdmt000040Procedure);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_PRODUCT: {
				POCDMT000040Product pocdmt000040Product = (POCDMT000040Product)theEObject;
				T result = casePOCDMT000040Product(pocdmt000040Product);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_RECORD_TARGET: {
				POCDMT000040RecordTarget pocdmt000040RecordTarget = (POCDMT000040RecordTarget)theEObject;
				T result = casePOCDMT000040RecordTarget(pocdmt000040RecordTarget);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_REFERENCE: {
				POCDMT000040Reference pocdmt000040Reference = (POCDMT000040Reference)theEObject;
				T result = casePOCDMT000040Reference(pocdmt000040Reference);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_REFERENCE_RANGE: {
				POCDMT000040ReferenceRange pocdmt000040ReferenceRange = (POCDMT000040ReferenceRange)theEObject;
				T result = casePOCDMT000040ReferenceRange(pocdmt000040ReferenceRange);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_REGION_OF_INTEREST: {
				POCDMT000040RegionOfInterest pocdmt000040RegionOfInterest = (POCDMT000040RegionOfInterest)theEObject;
				T result = casePOCDMT000040RegionOfInterest(pocdmt000040RegionOfInterest);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_REGION_OF_INTEREST_VALUE: {
				POCDMT000040RegionOfInterestValue pocdmt000040RegionOfInterestValue = (POCDMT000040RegionOfInterestValue)theEObject;
				T result = casePOCDMT000040RegionOfInterestValue(pocdmt000040RegionOfInterestValue);
				if (result == null) result = caseINT1(pocdmt000040RegionOfInterestValue);
				if (result == null) result = caseQTY(pocdmt000040RegionOfInterestValue);
				if (result == null) result = caseANY(pocdmt000040RegionOfInterestValue);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_RELATED_DOCUMENT: {
				POCDMT000040RelatedDocument pocdmt000040RelatedDocument = (POCDMT000040RelatedDocument)theEObject;
				T result = casePOCDMT000040RelatedDocument(pocdmt000040RelatedDocument);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_RELATED_ENTITY: {
				POCDMT000040RelatedEntity pocdmt000040RelatedEntity = (POCDMT000040RelatedEntity)theEObject;
				T result = casePOCDMT000040RelatedEntity(pocdmt000040RelatedEntity);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_RELATED_SUBJECT: {
				POCDMT000040RelatedSubject pocdmt000040RelatedSubject = (POCDMT000040RelatedSubject)theEObject;
				T result = casePOCDMT000040RelatedSubject(pocdmt000040RelatedSubject);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_RESPONSIBLE_PARTY: {
				POCDMT000040ResponsibleParty pocdmt000040ResponsibleParty = (POCDMT000040ResponsibleParty)theEObject;
				T result = casePOCDMT000040ResponsibleParty(pocdmt000040ResponsibleParty);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_SECTION: {
				POCDMT000040Section pocdmt000040Section = (POCDMT000040Section)theEObject;
				T result = casePOCDMT000040Section(pocdmt000040Section);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_SERVICE_EVENT: {
				POCDMT000040ServiceEvent pocdmt000040ServiceEvent = (POCDMT000040ServiceEvent)theEObject;
				T result = casePOCDMT000040ServiceEvent(pocdmt000040ServiceEvent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_SPECIMEN: {
				POCDMT000040Specimen pocdmt000040Specimen = (POCDMT000040Specimen)theEObject;
				T result = casePOCDMT000040Specimen(pocdmt000040Specimen);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_SPECIMEN_ROLE: {
				POCDMT000040SpecimenRole pocdmt000040SpecimenRole = (POCDMT000040SpecimenRole)theEObject;
				T result = casePOCDMT000040SpecimenRole(pocdmt000040SpecimenRole);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_STRUCTURED_BODY: {
				POCDMT000040StructuredBody pocdmt000040StructuredBody = (POCDMT000040StructuredBody)theEObject;
				T result = casePOCDMT000040StructuredBody(pocdmt000040StructuredBody);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_SUBJECT: {
				POCDMT000040Subject pocdmt000040Subject = (POCDMT000040Subject)theEObject;
				T result = casePOCDMT000040Subject(pocdmt000040Subject);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_SUBJECT_PERSON: {
				POCDMT000040SubjectPerson pocdmt000040SubjectPerson = (POCDMT000040SubjectPerson)theEObject;
				T result = casePOCDMT000040SubjectPerson(pocdmt000040SubjectPerson);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_SUBSTANCE_ADMINISTRATION: {
				POCDMT000040SubstanceAdministration pocdmt000040SubstanceAdministration = (POCDMT000040SubstanceAdministration)theEObject;
				T result = casePOCDMT000040SubstanceAdministration(pocdmt000040SubstanceAdministration);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.POCDMT000040_SUPPLY: {
				POCDMT000040Supply pocdmt000040Supply = (POCDMT000040Supply)theEObject;
				T result = casePOCDMT000040Supply(pocdmt000040Supply);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.PPDPQ: {
				PPDPQ ppdpq = (PPDPQ)theEObject;
				T result = casePPDPQ(ppdpq);
				if (result == null) result = casePQ(ppdpq);
				if (result == null) result = caseQTY(ppdpq);
				if (result == null) result = caseANY(ppdpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.PPDTS: {
				PPDTS ppdts = (PPDTS)theEObject;
				T result = casePPDTS(ppdts);
				if (result == null) result = caseTS1(ppdts);
				if (result == null) result = caseQTY(ppdts);
				if (result == null) result = caseANY(ppdts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.PQ: {
				PQ pq = (PQ)theEObject;
				T result = casePQ(pq);
				if (result == null) result = caseQTY(pq);
				if (result == null) result = caseANY(pq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.PQR: {
				PQR pqr = (PQR)theEObject;
				T result = casePQR(pqr);
				if (result == null) result = caseCV(pqr);
				if (result == null) result = caseCE(pqr);
				if (result == null) result = caseCD(pqr);
				if (result == null) result = caseANY(pqr);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.QTY: {
				QTY qty = (QTY)theEObject;
				T result = caseQTY(qty);
				if (result == null) result = caseANY(qty);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.REAL1: {
				REAL1 real1 = (REAL1)theEObject;
				T result = caseREAL1(real1);
				if (result == null) result = caseQTY(real1);
				if (result == null) result = caseANY(real1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.RTO: {
				RTO rto = (RTO)theEObject;
				T result = caseRTO(rto);
				if (result == null) result = caseRTOQTYQTY(rto);
				if (result == null) result = caseQTY(rto);
				if (result == null) result = caseANY(rto);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.RTOMOPQ: {
				RTOMOPQ rtomopq = (RTOMOPQ)theEObject;
				T result = caseRTOMOPQ(rtomopq);
				if (result == null) result = caseQTY(rtomopq);
				if (result == null) result = caseANY(rtomopq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.RTOPQPQ: {
				RTOPQPQ rtopqpq = (RTOPQPQ)theEObject;
				T result = caseRTOPQPQ(rtopqpq);
				if (result == null) result = caseQTY(rtopqpq);
				if (result == null) result = caseANY(rtopqpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.RTOQTYQTY: {
				RTOQTYQTY rtoqtyqty = (RTOQTYQTY)theEObject;
				T result = caseRTOQTYQTY(rtoqtyqty);
				if (result == null) result = caseQTY(rtoqtyqty);
				if (result == null) result = caseANY(rtoqtyqty);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SC: {
				SC sc = (SC)theEObject;
				T result = caseSC(sc);
				if (result == null) result = caseST1(sc);
				if (result == null) result = caseED(sc);
				if (result == null) result = caseBIN1(sc);
				if (result == null) result = caseANY(sc);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SLISTPQ: {
				SLISTPQ slistpq = (SLISTPQ)theEObject;
				T result = caseSLISTPQ(slistpq);
				if (result == null) result = caseANY(slistpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SLISTTS: {
				SLISTTS slistts = (SLISTTS)theEObject;
				T result = caseSLISTTS(slistts);
				if (result == null) result = caseANY(slistts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.ST1: {
				ST1 st1 = (ST1)theEObject;
				T result = caseST1(st1);
				if (result == null) result = caseED(st1);
				if (result == null) result = caseBIN1(st1);
				if (result == null) result = caseANY(st1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_BR: {
				StrucDocBr strucDocBr = (StrucDocBr)theEObject;
				T result = caseStrucDocBr(strucDocBr);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_CAPTION: {
				StrucDocCaption strucDocCaption = (StrucDocCaption)theEObject;
				T result = caseStrucDocCaption(strucDocCaption);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_COL: {
				StrucDocCol strucDocCol = (StrucDocCol)theEObject;
				T result = caseStrucDocCol(strucDocCol);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_COLGROUP: {
				StrucDocColgroup strucDocColgroup = (StrucDocColgroup)theEObject;
				T result = caseStrucDocColgroup(strucDocColgroup);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_CONTENT: {
				StrucDocContent strucDocContent = (StrucDocContent)theEObject;
				T result = caseStrucDocContent(strucDocContent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_FOOTNOTE: {
				StrucDocFootnote strucDocFootnote = (StrucDocFootnote)theEObject;
				T result = caseStrucDocFootnote(strucDocFootnote);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_FOOTNOTE_REF: {
				StrucDocFootnoteRef strucDocFootnoteRef = (StrucDocFootnoteRef)theEObject;
				T result = caseStrucDocFootnoteRef(strucDocFootnoteRef);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_ITEM: {
				StrucDocItem strucDocItem = (StrucDocItem)theEObject;
				T result = caseStrucDocItem(strucDocItem);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_LINK_HTML: {
				StrucDocLinkHtml strucDocLinkHtml = (StrucDocLinkHtml)theEObject;
				T result = caseStrucDocLinkHtml(strucDocLinkHtml);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_LIST: {
				StrucDocList strucDocList = (StrucDocList)theEObject;
				T result = caseStrucDocList(strucDocList);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_PARAGRAPH: {
				StrucDocParagraph strucDocParagraph = (StrucDocParagraph)theEObject;
				T result = caseStrucDocParagraph(strucDocParagraph);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_RENDER_MULTI_MEDIA: {
				StrucDocRenderMultiMedia strucDocRenderMultiMedia = (StrucDocRenderMultiMedia)theEObject;
				T result = caseStrucDocRenderMultiMedia(strucDocRenderMultiMedia);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_SUB: {
				StrucDocSub strucDocSub = (StrucDocSub)theEObject;
				T result = caseStrucDocSub(strucDocSub);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_SUP: {
				StrucDocSup strucDocSup = (StrucDocSup)theEObject;
				T result = caseStrucDocSup(strucDocSup);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_TABLE: {
				StrucDocTable strucDocTable = (StrucDocTable)theEObject;
				T result = caseStrucDocTable(strucDocTable);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_TBODY: {
				StrucDocTbody strucDocTbody = (StrucDocTbody)theEObject;
				T result = caseStrucDocTbody(strucDocTbody);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_TD: {
				StrucDocTd strucDocTd = (StrucDocTd)theEObject;
				T result = caseStrucDocTd(strucDocTd);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_TEXT: {
				StrucDocText strucDocText = (StrucDocText)theEObject;
				T result = caseStrucDocText(strucDocText);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_TFOOT: {
				StrucDocTfoot strucDocTfoot = (StrucDocTfoot)theEObject;
				T result = caseStrucDocTfoot(strucDocTfoot);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_TH: {
				StrucDocTh strucDocTh = (StrucDocTh)theEObject;
				T result = caseStrucDocTh(strucDocTh);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_THEAD: {
				StrucDocThead strucDocThead = (StrucDocThead)theEObject;
				T result = caseStrucDocThead(strucDocThead);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_TITLE: {
				StrucDocTitle strucDocTitle = (StrucDocTitle)theEObject;
				T result = caseStrucDocTitle(strucDocTitle);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_TITLE_CONTENT: {
				StrucDocTitleContent strucDocTitleContent = (StrucDocTitleContent)theEObject;
				T result = caseStrucDocTitleContent(strucDocTitleContent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_TITLE_FOOTNOTE: {
				StrucDocTitleFootnote strucDocTitleFootnote = (StrucDocTitleFootnote)theEObject;
				T result = caseStrucDocTitleFootnote(strucDocTitleFootnote);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.STRUC_DOC_TR: {
				StrucDocTr strucDocTr = (StrucDocTr)theEObject;
				T result = caseStrucDocTr(strucDocTr);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SXCMCD: {
				SXCMCD sxcmcd = (SXCMCD)theEObject;
				T result = caseSXCMCD(sxcmcd);
				if (result == null) result = caseCD(sxcmcd);
				if (result == null) result = caseANY(sxcmcd);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SXCMINT: {
				SXCMINT sxcmint = (SXCMINT)theEObject;
				T result = caseSXCMINT(sxcmint);
				if (result == null) result = caseINT1(sxcmint);
				if (result == null) result = caseQTY(sxcmint);
				if (result == null) result = caseANY(sxcmint);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SXCMMO: {
				SXCMMO sxcmmo = (SXCMMO)theEObject;
				T result = caseSXCMMO(sxcmmo);
				if (result == null) result = caseMO(sxcmmo);
				if (result == null) result = caseQTY(sxcmmo);
				if (result == null) result = caseANY(sxcmmo);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SXCMPPDPQ: {
				SXCMPPDPQ sxcmppdpq = (SXCMPPDPQ)theEObject;
				T result = caseSXCMPPDPQ(sxcmppdpq);
				if (result == null) result = casePPDPQ(sxcmppdpq);
				if (result == null) result = casePQ(sxcmppdpq);
				if (result == null) result = caseQTY(sxcmppdpq);
				if (result == null) result = caseANY(sxcmppdpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SXCMPPDTS: {
				SXCMPPDTS sxcmppdts = (SXCMPPDTS)theEObject;
				T result = caseSXCMPPDTS(sxcmppdts);
				if (result == null) result = casePPDTS(sxcmppdts);
				if (result == null) result = caseTS1(sxcmppdts);
				if (result == null) result = caseQTY(sxcmppdts);
				if (result == null) result = caseANY(sxcmppdts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SXCMPQ: {
				SXCMPQ sxcmpq = (SXCMPQ)theEObject;
				T result = caseSXCMPQ(sxcmpq);
				if (result == null) result = casePQ(sxcmpq);
				if (result == null) result = caseQTY(sxcmpq);
				if (result == null) result = caseANY(sxcmpq);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SXCMREAL: {
				SXCMREAL sxcmreal = (SXCMREAL)theEObject;
				T result = caseSXCMREAL(sxcmreal);
				if (result == null) result = caseREAL1(sxcmreal);
				if (result == null) result = caseQTY(sxcmreal);
				if (result == null) result = caseANY(sxcmreal);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SXCMTS: {
				SXCMTS sxcmts = (SXCMTS)theEObject;
				T result = caseSXCMTS(sxcmts);
				if (result == null) result = caseTS1(sxcmts);
				if (result == null) result = caseQTY(sxcmts);
				if (result == null) result = caseANY(sxcmts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.SXPRTS: {
				SXPRTS sxprts = (SXPRTS)theEObject;
				T result = caseSXPRTS(sxprts);
				if (result == null) result = caseSXCMTS(sxprts);
				if (result == null) result = caseTS1(sxprts);
				if (result == null) result = caseQTY(sxprts);
				if (result == null) result = caseANY(sxprts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.TEL: {
				TEL tel = (TEL)theEObject;
				T result = caseTEL(tel);
				if (result == null) result = caseURL1(tel);
				if (result == null) result = caseANY(tel);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.THUMBNAIL: {
				Thumbnail thumbnail = (Thumbnail)theEObject;
				T result = caseThumbnail(thumbnail);
				if (result == null) result = caseED(thumbnail);
				if (result == null) result = caseBIN1(thumbnail);
				if (result == null) result = caseANY(thumbnail);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.TN: {
				TN tn = (TN)theEObject;
				T result = caseTN(tn);
				if (result == null) result = caseEN(tn);
				if (result == null) result = caseANY(tn);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.TS1: {
				TS1 ts1 = (TS1)theEObject;
				T result = caseTS1(ts1);
				if (result == null) result = caseQTY(ts1);
				if (result == null) result = caseANY(ts1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.URL1: {
				URL1 url1 = (URL1)theEObject;
				T result = caseURL1(url1);
				if (result == null) result = caseANY(url1);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case V3Package.UVPTS: {
				UVPTS uvpts = (UVPTS)theEObject;
				T result = caseUVPTS(uvpts);
				if (result == null) result = caseTS1(uvpts);
				if (result == null) result = caseQTY(uvpts);
				if (result == null) result = caseANY(uvpts);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			default: return defaultCase(theEObject);
		}
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>AD</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>AD</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAD(AD object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ADXP</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ADXP</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseADXP(ADXP object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Additional Locator</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Additional Locator</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpAdditionalLocator(AdxpAdditionalLocator object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Building Number Suffix</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Building Number Suffix</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpBuildingNumberSuffix(AdxpBuildingNumberSuffix object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Care Of</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Care Of</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpCareOf(AdxpCareOf object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Census Tract</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Census Tract</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpCensusTract(AdxpCensusTract object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp City</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp City</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpCity(AdxpCity object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Country</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Country</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpCountry(AdxpCountry object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp County</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp County</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpCounty(AdxpCounty object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Delimiter</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Delimiter</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpDelimiter(AdxpDelimiter object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Delivery Address Line</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Delivery Address Line</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpDeliveryAddressLine(AdxpDeliveryAddressLine object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Delivery Installation Area</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Delivery Installation Area</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpDeliveryInstallationArea(AdxpDeliveryInstallationArea object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Delivery Installation Qualifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Delivery Installation Qualifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpDeliveryInstallationQualifier(AdxpDeliveryInstallationQualifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Delivery Installation Type</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Delivery Installation Type</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpDeliveryInstallationType(AdxpDeliveryInstallationType object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Delivery Mode</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Delivery Mode</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpDeliveryMode(AdxpDeliveryMode object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Delivery Mode Identifier</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Delivery Mode Identifier</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpDeliveryModeIdentifier(AdxpDeliveryModeIdentifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Direction</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Direction</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpDirection(AdxpDirection object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp House Number</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp House Number</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpHouseNumber(AdxpHouseNumber object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp House Number Numeric</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp House Number Numeric</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpHouseNumberNumeric(AdxpHouseNumberNumeric object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Postal Code</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Postal Code</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpPostalCode(AdxpPostalCode object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Post Box</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Post Box</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpPostBox(AdxpPostBox object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Precinct</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Precinct</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpPrecinct(AdxpPrecinct object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp State</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp State</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpState(AdxpState object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Street Address Line</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Street Address Line</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpStreetAddressLine(AdxpStreetAddressLine object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Street Name</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Street Name</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpStreetName(AdxpStreetName object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Street Name Base</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Street Name Base</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpStreetNameBase(AdxpStreetNameBase object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Street Name Type</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Street Name Type</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpStreetNameType(AdxpStreetNameType object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Unit ID</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Unit ID</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpUnitID(AdxpUnitID object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Adxp Unit Type</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Adxp Unit Type</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAdxpUnitType(AdxpUnitType object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ANY</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ANY</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseANY(ANY object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ANY Non Null</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ANY Non Null</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseANYNonNull(ANYNonNull object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>BIN1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>BIN1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseBIN1(BIN1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>BL1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>BL1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseBL1(BL1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>BN1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>BN1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseBN1(BN1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>BXITCD</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>BXITCD</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseBXITCD(BXITCD object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>BXITIVLPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>BXITIVLPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseBXITIVLPQ(BXITIVLPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>CD</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>CD</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseCD(CD object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>CE</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>CE</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseCE(CE object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>CO</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>CO</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseCO(CO object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>CR</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>CR</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseCR(CR object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>CS1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>CS1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseCS1(CS1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>CV</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>CV</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseCV(CV object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Document Root</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Document Root</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDocumentRoot(DocumentRoot object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ED</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ED</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseED(ED object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>EIVL Event</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>EIVL Event</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEIVLEvent(EIVLEvent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>EIVLPPDTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>EIVLPPDTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEIVLPPDTS(EIVLPPDTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>EIVLTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>EIVLTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEIVLTS(EIVLTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>EN</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>EN</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEN(EN object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>En Delimiter</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>En Delimiter</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEnDelimiter(EnDelimiter object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>En Family</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>En Family</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEnFamily(EnFamily object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>En Given</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>En Given</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEnGiven(EnGiven object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>En Prefix</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>En Prefix</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEnPrefix(EnPrefix object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>En Suffix</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>En Suffix</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseEnSuffix(EnSuffix object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ENXP</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ENXP</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseENXP(ENXP object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>GLISTPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>GLISTPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseGLISTPQ(GLISTPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>GLISTTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>GLISTTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseGLISTTS(GLISTTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>HXITCE</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>HXITCE</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseHXITCE(HXITCE object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>HXITPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>HXITPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseHXITPQ(HXITPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>II</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>II</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseII(II object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>INT1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>INT1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseINT1(INT1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVLINT</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVLINT</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVLINT(IVLINT object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVLMO</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVLMO</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVLMO(IVLMO object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVLPPDPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVLPPDPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVLPPDPQ(IVLPPDPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVLPPDTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVLPPDTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVLPPDTS(IVLPPDTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVLPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVLPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVLPQ(IVLPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVLREAL</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVLREAL</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVLREAL(IVLREAL object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVLTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVLTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVLTS(IVLTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVXBINT</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVXBINT</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVXBINT(IVXBINT object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVXBMO</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVXBMO</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVXBMO(IVXBMO object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVXBPPDPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVXBPPDPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVXBPPDPQ(IVXBPPDPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVXBPPDTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVXBPPDTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVXBPPDTS(IVXBPPDTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVXBPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVXBPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVXBPQ(IVXBPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVXBREAL</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVXBREAL</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVXBREAL(IVXBREAL object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>IVXBTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>IVXBTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIVXBTS(IVXBTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>MO</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>MO</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseMO(MO object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ON</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ON</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseON(ON object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>PIVLPPDTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>PIVLPPDTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePIVLPPDTS(PIVLPPDTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>PIVLTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>PIVLTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePIVLTS(PIVLTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>PN</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>PN</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePN(PN object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Act</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Act</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Act(POCDMT000040Act object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Assigned Author</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Assigned Author</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040AssignedAuthor(POCDMT000040AssignedAuthor object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Assigned Custodian</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Assigned Custodian</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040AssignedCustodian(POCDMT000040AssignedCustodian object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Assigned Entity</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Assigned Entity</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040AssignedEntity(POCDMT000040AssignedEntity object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Associated Entity</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Associated Entity</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040AssociatedEntity(POCDMT000040AssociatedEntity object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Authenticator</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Authenticator</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Authenticator(POCDMT000040Authenticator object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Author</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Author</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Author(POCDMT000040Author object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Authoring Device</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Authoring Device</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040AuthoringDevice(POCDMT000040AuthoringDevice object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Authorization</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Authorization</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Authorization(POCDMT000040Authorization object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Birthplace</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Birthplace</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Birthplace(POCDMT000040Birthplace object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Clinical Document</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Clinical Document</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ClinicalDocument(POCDMT000040ClinicalDocument object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Component1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Component1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Component1(POCDMT000040Component1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Component2</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Component2</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Component2(POCDMT000040Component2 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Component3</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Component3</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Component3(POCDMT000040Component3 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Component4</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Component4</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Component4(POCDMT000040Component4 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Component5</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Component5</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Component5(POCDMT000040Component5 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Consent</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Consent</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Consent(POCDMT000040Consent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Consumable</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Consumable</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Consumable(POCDMT000040Consumable object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Criterion</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Criterion</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Criterion(POCDMT000040Criterion object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Custodian</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Custodian</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Custodian(POCDMT000040Custodian object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Custodian Organization</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Custodian Organization</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040CustodianOrganization(POCDMT000040CustodianOrganization object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Data Enterer</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Data Enterer</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040DataEnterer(POCDMT000040DataEnterer object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Device</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Device</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Device(POCDMT000040Device object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Documentation Of</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Documentation Of</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040DocumentationOf(POCDMT000040DocumentationOf object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Encompassing Encounter</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Encompassing Encounter</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040EncompassingEncounter(POCDMT000040EncompassingEncounter object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Encounter</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Encounter</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Encounter(POCDMT000040Encounter object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Encounter Participant</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Encounter Participant</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040EncounterParticipant(POCDMT000040EncounterParticipant object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Entity</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Entity</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Entity(POCDMT000040Entity object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Entry</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Entry</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Entry(POCDMT000040Entry object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Entry Relationship</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Entry Relationship</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040EntryRelationship(POCDMT000040EntryRelationship object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 External Act</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 External Act</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ExternalAct(POCDMT000040ExternalAct object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 External Document</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 External Document</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ExternalDocument(POCDMT000040ExternalDocument object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 External Observation</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 External Observation</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ExternalObservation(POCDMT000040ExternalObservation object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 External Procedure</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 External Procedure</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ExternalProcedure(POCDMT000040ExternalProcedure object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Guardian</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Guardian</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Guardian(POCDMT000040Guardian object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Health Care Facility</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Health Care Facility</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040HealthCareFacility(POCDMT000040HealthCareFacility object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Informant12</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Informant12</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Informant12(POCDMT000040Informant12 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Information Recipient</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Information Recipient</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040InformationRecipient(POCDMT000040InformationRecipient object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Infrastructure Root Type Id</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Infrastructure Root Type Id</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040InfrastructureRootTypeId(POCDMT000040InfrastructureRootTypeId object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 In Fulfillment Of</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 In Fulfillment Of</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040InFulfillmentOf(POCDMT000040InFulfillmentOf object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Intended Recipient</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Intended Recipient</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040IntendedRecipient(POCDMT000040IntendedRecipient object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Labeled Drug</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Labeled Drug</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040LabeledDrug(POCDMT000040LabeledDrug object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Language Communication</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Language Communication</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040LanguageCommunication(POCDMT000040LanguageCommunication object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Legal Authenticator</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Legal Authenticator</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040LegalAuthenticator(POCDMT000040LegalAuthenticator object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Location</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Location</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Location(POCDMT000040Location object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Maintained Entity</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Maintained Entity</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040MaintainedEntity(POCDMT000040MaintainedEntity object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Manufactured Product</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Manufactured Product</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ManufacturedProduct(POCDMT000040ManufacturedProduct object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Material</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Material</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Material(POCDMT000040Material object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Non XML Body</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Non XML Body</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040NonXMLBody(POCDMT000040NonXMLBody object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Observation</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Observation</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Observation(POCDMT000040Observation object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Observation Media</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Observation Media</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ObservationMedia(POCDMT000040ObservationMedia object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Observation Range</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Observation Range</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ObservationRange(POCDMT000040ObservationRange object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Order</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Order</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Order(POCDMT000040Order object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Organization</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Organization</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Organization(POCDMT000040Organization object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Organization Part Of</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Organization Part Of</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040OrganizationPartOf(POCDMT000040OrganizationPartOf object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Organizer</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Organizer</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Organizer(POCDMT000040Organizer object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Parent Document</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Parent Document</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ParentDocument(POCDMT000040ParentDocument object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Participant1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Participant1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Participant1(POCDMT000040Participant1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Participant2</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Participant2</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Participant2(POCDMT000040Participant2 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Participant Role</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Participant Role</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ParticipantRole(POCDMT000040ParticipantRole object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Patient</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Patient</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Patient(POCDMT000040Patient object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Patient Role</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Patient Role</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040PatientRole(POCDMT000040PatientRole object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Performer1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Performer1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Performer1(POCDMT000040Performer1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Performer2</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Performer2</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Performer2(POCDMT000040Performer2 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Person</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Person</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Person(POCDMT000040Person object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Place</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Place</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Place(POCDMT000040Place object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Playing Entity</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Playing Entity</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040PlayingEntity(POCDMT000040PlayingEntity object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Precondition</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Precondition</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Precondition(POCDMT000040Precondition object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Procedure</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Procedure</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Procedure(POCDMT000040Procedure object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Product</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Product</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Product(POCDMT000040Product object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Record Target</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Record Target</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040RecordTarget(POCDMT000040RecordTarget object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Reference</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Reference</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Reference(POCDMT000040Reference object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Reference Range</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Reference Range</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ReferenceRange(POCDMT000040ReferenceRange object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Region Of Interest</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Region Of Interest</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040RegionOfInterest(POCDMT000040RegionOfInterest object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Region Of Interest Value</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Region Of Interest Value</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040RegionOfInterestValue(POCDMT000040RegionOfInterestValue object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Related Document</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Related Document</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040RelatedDocument(POCDMT000040RelatedDocument object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Related Entity</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Related Entity</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040RelatedEntity(POCDMT000040RelatedEntity object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Related Subject</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Related Subject</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040RelatedSubject(POCDMT000040RelatedSubject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Responsible Party</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Responsible Party</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ResponsibleParty(POCDMT000040ResponsibleParty object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Section</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Section</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Section(POCDMT000040Section object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Service Event</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Service Event</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040ServiceEvent(POCDMT000040ServiceEvent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Specimen</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Specimen</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Specimen(POCDMT000040Specimen object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Specimen Role</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Specimen Role</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040SpecimenRole(POCDMT000040SpecimenRole object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Structured Body</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Structured Body</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040StructuredBody(POCDMT000040StructuredBody object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Subject</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Subject</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Subject(POCDMT000040Subject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Subject Person</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Subject Person</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040SubjectPerson(POCDMT000040SubjectPerson object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Substance Administration</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Substance Administration</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040SubstanceAdministration(POCDMT000040SubstanceAdministration object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>POCDMT000040 Supply</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>POCDMT000040 Supply</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePOCDMT000040Supply(POCDMT000040Supply object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>PPDPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>PPDPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePPDPQ(PPDPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>PPDTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>PPDTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePPDTS(PPDTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>PQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>PQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePQ(PQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>PQR</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>PQR</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T casePQR(PQR object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>QTY</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>QTY</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseQTY(QTY object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>REAL1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>REAL1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseREAL1(REAL1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>RTO</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>RTO</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRTO(RTO object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>RTOMOPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>RTOMOPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRTOMOPQ(RTOMOPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>RTOPQPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>RTOPQPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRTOPQPQ(RTOPQPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>RTOQTYQTY</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>RTOQTYQTY</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRTOQTYQTY(RTOQTYQTY object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SC</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SC</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSC(SC object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SLISTPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SLISTPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSLISTPQ(SLISTPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SLISTTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SLISTTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSLISTTS(SLISTTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>ST1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>ST1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseST1(ST1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Br</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Br</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocBr(StrucDocBr object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Caption</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Caption</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocCaption(StrucDocCaption object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Col</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Col</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocCol(StrucDocCol object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Colgroup</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Colgroup</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocColgroup(StrucDocColgroup object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Content</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Content</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocContent(StrucDocContent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Footnote</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Footnote</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocFootnote(StrucDocFootnote object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Footnote Ref</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Footnote Ref</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocFootnoteRef(StrucDocFootnoteRef object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Item</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Item</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocItem(StrucDocItem object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Link Html</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Link Html</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocLinkHtml(StrucDocLinkHtml object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc List</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc List</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocList(StrucDocList object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Paragraph</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Paragraph</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocParagraph(StrucDocParagraph object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Render Multi Media</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Render Multi Media</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocRenderMultiMedia(StrucDocRenderMultiMedia object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Sub</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Sub</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocSub(StrucDocSub object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Sup</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Sup</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocSup(StrucDocSup object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Table</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Table</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocTable(StrucDocTable object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Tbody</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Tbody</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocTbody(StrucDocTbody object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Td</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Td</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocTd(StrucDocTd object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Text</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Text</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocText(StrucDocText object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Tfoot</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Tfoot</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocTfoot(StrucDocTfoot object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Th</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Th</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocTh(StrucDocTh object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Thead</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Thead</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocThead(StrucDocThead object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Title</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Title</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocTitle(StrucDocTitle object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Title Content</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Title Content</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocTitleContent(StrucDocTitleContent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Title Footnote</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Title Footnote</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocTitleFootnote(StrucDocTitleFootnote object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Struc Doc Tr</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Struc Doc Tr</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStrucDocTr(StrucDocTr object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SXCMCD</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SXCMCD</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSXCMCD(SXCMCD object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SXCMINT</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SXCMINT</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSXCMINT(SXCMINT object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SXCMMO</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SXCMMO</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSXCMMO(SXCMMO object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SXCMPPDPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SXCMPPDPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSXCMPPDPQ(SXCMPPDPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SXCMPPDTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SXCMPPDTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSXCMPPDTS(SXCMPPDTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SXCMPQ</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SXCMPQ</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSXCMPQ(SXCMPQ object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SXCMREAL</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SXCMREAL</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSXCMREAL(SXCMREAL object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SXCMTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SXCMTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSXCMTS(SXCMTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>SXPRTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>SXPRTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSXPRTS(SXPRTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>TEL</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>TEL</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseTEL(TEL object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>Thumbnail</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>Thumbnail</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseThumbnail(Thumbnail object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>TN</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>TN</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseTN(TN object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>TS1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>TS1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseTS1(TS1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>URL1</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>URL1</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseURL1(URL1 object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>UVPTS</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>UVPTS</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseUVPTS(UVPTS object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
	 * <!-- begin-user-doc -->
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch, but this is the last case anyway.
	 * <!-- end-user-doc -->
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
	 * @generated
	 */
	public T defaultCase(EObject object) {
		return null;
	}

} //V3Switch
